package com.lineage.server.serverpackets;

/**
 * 服務器封包編組設置 351C_TW
 * 
 * @version 12011702
 * @author dexc
 *
 */
public class OpcodesServer {
	
	public OpcodesServer() {
	}

	// TODO 登入
	
	/**
	 * 初始化
	 */
	public static final int S_OPCODE_INITOPCODE = 18;
	
	/**
	 * 伺服器版本
	 */
	protected static final int S_OPCODE_SERVERVERSION = 43;
	
	/**
	 * 登入狀態
	 */
	protected static final int S_OPCODE_LOGINRESULT = 8;
	
	/**
	 * 公告視窗
	 */
	protected static final int S_OPCODE_COMMONNEWS = 19;
	
	/**
	 * 宣告進入遊戲
	 */
	protected static final int S_OPCODE_UNKNOWN1 = 4;
	
	/**
	 * 封包盒子
	 */
	protected static final int S_OPCODE_PACKETBOX = 68;
	
	/**
	 * 立即中斷連線
	 */
	protected static final int S_OPCODE_DISCONNECT = 113;

	// TODO 頻道相關
	
	/**
	 * 廣播頻道
	 */
	protected static final int S_OPCODE_GLOBALCHAT = 120;
	
	/**
	 * 一般頻道
	 */
	protected static final int S_OPCODE_NORMALCHAT = 16;
	
	/**
	 * 使用密語聊天頻道
	 */
	protected static final int S_OPCODE_WHISPERCHAT = 65;
	
	/**
	 * NPC 對話(文字對話)
	 */
	protected static final int S_OPCODE_NPCSHOUT = 42;
	
	// TODO 角色
	
	/**
	 * 角色列表
	 */
	protected static final int S_OPCODE_CHARAMOUNT = 106;
	
	/**
	 * 角色列表資訊
	 */
	protected static final int S_OPCODE_CHARLIST = 37;
	
	/**
	 * 角色創造結果
	 */
	protected static final int S_OPCODE_NEWCHARWRONG = 74;
	
	/**
	 * 創造角色(新創)
	 */
	protected static final int S_OPCODE_NEWCHARPACK = 10;
	
	/**
	 * 角色移除(立即/非立即)
	 */
	protected static final int S_OPCODE_DETELECHAROK = 54;
	
	/**
	 * 角色資訊
	 */
	protected static final int S_OPCODE_OWNCHARSTATUS = 30;
	
	/**
	 * 角色能力狀態(力量,敏捷等)
	 */
	protected static final int S_OPCODE_OWNCHARSTATUS2 = 52;
	
	/**
	 * 角色盟徽
	 */
	protected static final int S_OPCODE_EMBLEM = 38;
	
	/**
	 * 角色封號
	 */
	protected static final int S_OPCODE_CHARTITLE = 3;
	
	/**
	 * 角色名稱變紫色
	 */
	protected static final int S_OPCODE_PINKNAME = 11;
	
	/**
	 * 角色皇冠
	 */
	protected static final int S_OPCODE_CASTLEMASTER = 76;
	
	/**
	 * 角色重置升級能力
	 */
	protected static final int S_OPCODE_CHARRESET = 75;

	//TODO 物件
	
	/**
	 * 物件封包
	 */
	protected static final int S_OPCODE_CHARPACK = 97;

	/**
	 * 物件刪除
	 */
	protected static final int S_OPCODE_REMOVE_OBJECT = 94;
	
	/**
	 * 物件血條
	 */
	protected static final int S_OPCODE_HPMETER = 103;

	/**
	 * 物件屬性(門)
	 */
	protected static final int S_OPCODE_ATTRIBUTE = 82;
	
	/**
	 * 物件復活
	 */
	protected static final int S_OPCODE_RESURRECTION = 32;
	
	// TODO 動畫控制
	
	/**
	 * 物件移動
	 */
	protected static final int S_OPCODE_MOVEOBJECT = 0;
	
	/**
	 * 物件攻擊(傷害力變更封包類型為 writeH(0x0000))
	 */
	protected static final int S_OPCODE_ATTACKPACKET = 48;
	
	/**
	 * 物件動作種類(長時間)
	 */
	protected static final int S_OPCODE_CHARVISUALUPDATE = 17;
	
	/**
	 * 物件動作種類(短時間)
	 */
	protected static final int S_OPCODE_DOACTIONGFX = 124;
	
	/**
	 * 產生動畫(物件)
	 */
	protected static final int S_OPCODE_SKILLSOUNDGFX = 80;
	
	/**
	 * 產生動畫(地點)
	 */
	protected static final int S_OPCODE_EFFECTLOCATION = 117;
	
	/**
	 * 範圍魔法
	 */
	protected static final int S_OPCODE_RANGESKILLS = 107;
	
	// TODO 訊息
	
	/**
	 * 郵件系統
	 */
	protected static final int S_OPCODE_MAIL = 114;
	
	/**
	 * 血盟戰爭訊息(編號,血盟名稱,目標血盟名稱)
	 */
	protected static final int S_OPCODE_WAR = 87;
	
	/**
	 * NPC對話視窗
	 */
	protected static final int S_OPCODE_SHOWHTML = 24;
	
	/**
	 * 選取物品數量
	 */
	protected static final int S_OPCODE_INPUTAMOUNT = 36;
	
	/**
	 * 伺服器訊息(行數/行數,附加字串)
	 */
	protected static final int S_OPCODE_SERVERMSG = 63;
	
	/**
	 * 選項(Yes/No)
	 */
	protected static final int S_OPCODE_YES_NO = 108;
	
	/**
	 * 物品鑑定資訊訊息
	 */
	protected static final int S_OPCODE_IDENTIFYDESC = 95;
	
	/**
	 * 畫面中紅色訊息
	 */
	protected static final int S_OPCODE_BLUEMESSAGE = 91;
	
	// TODO 屬性更新顯示
	
	/**
	 * 更新物件亮度
	 */
	protected static final int S_OPCODE_LIGHT = 12;
	
	/**
	 * 更新遊戲天氣
	 */
	protected static final int S_OPCODE_WEATHER = 15;
	
	/**
	 * 更新物件面向
	 */
	protected static final int S_OPCODE_CHANGEHEADING = 26;
	
	/**
	 * 更新物件名稱
	 */
	protected static final int S_OPCODE_CHANGENAME = 122;
	
	/**
	 * 更新HP顯示
	 */
	protected static final int S_OPCODE_HPUPDATE = 7;
	
	/**
	 * 更新MP顯示
	 */
	protected static final int S_OPCODE_MPUPDATE = 25;
	
	/**
	 * 更新角色所在的地圖
	 */
	protected static final int S_OPCODE_MAPID = 72;
	
	/**
	 * 更新遊戲時間
	 */
	protected static final int S_OPCODE_GAMETIME = 84;
	
	/**
	 * 更新經驗值
	 */
	protected static final int S_OPCODE_EXP = 100;
	
	/**
	 * 更新正義值
	 */
	protected static final int S_OPCODE_LAWFUL = 118;
	
	/**
	 * 更新魔攻與魔防
	 */
	protected static final int S_OPCODE_SPMR = 67;
	
	/**
	 * 更新角色防禦屬性
	 */
	protected static final int S_OPCODE_OWNCHARATTRDEF = 59;
	
	/**
	 * 更新血盟數據
	 */
	protected static final int S_OPCODE_UPDATECLANID = 56;
	
	// TODO 佈告欄
	
	/**
	 * 佈告欄列表
	 */
	protected static final int S_OPCODE_BOARD = 57;
	
	/**
	 * 佈告欄(訊息閱讀)
	 */
	protected static final int S_OPCODE_BOARDREAD = 41;
	
	/**
	 * 盟屋拍賣公告欄列表
	 */
	protected static final int S_OPCODE_HOUSELIST = 109;
	
	/**
	 * 血盟小屋地圖(地點)
	 */
	protected static final int S_OPCODE_HOUSEMAP = 119;
	
	// TODO 魔法效果
	
	/**
	 * 魔法效果:毒素
	 */
	protected static final int S_OPCODE_POISON = 50;
	
	/**
	 * 魔法效果:勇敢藥水纇
	 */
	protected static final int S_OPCODE_SKILLBRAVE = 96;
	
	/**
	 * 魔法效果:防禦
	 */
	protected static final int S_OPCODE_SKILLICONSHIELD = 71;
	
	/**
	 * 魔法效果:加速纇
	 */
	protected static final int S_OPCODE_SKILLHASTE = 125;
	
	/**
	 * 魔法效果:精準目標
	 */
	protected static final int S_OPCODE_TRUETARGET = 73;
	
	/**
	 * 魔法效果:水底呼吸
	 */
	protected static final int S_OPCODE_BLESSOFEVA = 5;
	
	/**
	 * 魔法效果:物件隱形
	 */
	protected static final int S_OPCODE_INVIS = 33;
	
	/**
	 * 魔法效果:操作混亂(醉酒)
	 */
	protected static final int S_OPCODE_LIQUOR = 2;
	
	/**
	 * 魔法效果:詛咒
	 */
	protected static final int S_OPCODE_PARALYSIS = 53;
	
	/**
	 * 魔法效果:敏捷提升
	 */
	protected static final int S_OPCODE_DEXUP = 61;
	
	/**
	 * 魔法效果:力量提升
	 */
	protected static final int S_OPCODE_STRUP = 99;
	
	/**
	 * 魔法效果:暗盲咒術
	 */
	protected static final int S_OPCODE_CURSEBLIND = 66;
	
	// TODO 清單
	
	/**
	 * 物品名單(背包)
	 */
	protected static final int S_OPCODE_INVLIST = 81;

	/**
	 * 更新物品顯示名稱(背包)
	 */
	protected static final int S_OPCODE_ITEMNAME = 40;
	
	/**
	 * 更新物品可使用數量(背包)
	 */
	protected static final int S_OPCODE_ITEMAMOUNT = 104;
	
	/**
	 * 物品增加(背包)
	 */
	protected static final int S_OPCODE_ADDITEM = 34;
	
	/**
	 * 物品刪除(背包)
	 */
	protected static final int S_OPCODE_DELETEINVENTORYITEM = 126;
	
	/**
	 * 物品色彩狀態(背包)
	 */
	protected static final int S_OPCODE_ITEMCOLOR = 89;
	
	/**
	 * 物品名單(倉庫)
	 */
	protected static final int S_OPCODE_SHOWRETRIEVELIST = 101;
	
	/**
	 * 損壞武器清單
	 */
	protected static final int S_OPCODE_SELECTLIST = 85;
	
	/**
	 * 角色座標名單
	 */
	protected static final int S_OPCODE_BOOKMARKS = 92;
	
	// TODO 交易
	
	/**
	 * NPC物品購買清單(人物賣出)
	 */
	protected static final int S_OPCODE_SHOWSHOPSELLLIST = 45;
	
	/**
	 * NPC物品販賣清單(人物買入)
	 */
	protected static final int S_OPCODE_SHOWSHOPBUYLIST = 47;
	
	/**
	 * 交易封包(雙方交易)
	 */
	protected static final int S_OPCODE_TRADE = 78;
	
	/**
	 * 交易狀態(雙方交易)
	 */
	protected static final int S_OPCODE_TRADESTATUS = 93;
	
	/**
	 * 交易增加物品(雙方交易)
	 */
	protected static final int S_OPCODE_TRADEADDITEM = 27;
	
	/**
	 * 交易商店清單(購買/賣出-個人商店)
	 */
	protected static final int S_OPCODE_PRIVATESHOPLIST = 112;
	
	// TODO 其它
	
	/**
	 * 傳送控制戒指
	 */
	protected static final int S_OPCODE_ABILITY = 9;
	
	/**
	 * 撥放音效
	 */
	protected static final int S_OPCODE_SOUND = 111;
	
	/**
	 * 傳送鎖定(NPC瞬間移動)
	 */
	protected static final int S_OPCODE_TELEPORT = 116;
	
	/**
	 * 傳送鎖定(洞穴點座標點)
	 */
	protected static final int S_OPCODE_TELEPORTLOCK = 105;
	
	/**
	 * 角色鎖定(座標異常重整)
	 */
	protected static final int S_OPCODE_CHARLOCK = 127;
	
	/**
	 * 選擇一個目標
	 */
	protected static final int S_OPCODE_SELECTTARGET = 83;
	
	/**
	 * 城堡寶庫(要求存入資金)
	 */
	protected static final int S_OPCODE_DEPOSIT = 86;
	
	/**
	 * 城堡寶庫(要求領出資金)
	 */
	protected static final int S_OPCODE_DRAWAL = 21;

	/**
	 * 僱請傭兵(傭兵購買視窗)
	 */
	protected static final int S_OPCODE_HIRESOLDIER = 123;
	
	/**
	 * 配置城牆上的弓箭手列表(傭兵購買視窗)
	 */
	protected static final int S_OPCODE_PUTBOWSOLDIERLIST = 23;
	
	/**
	 * 傭兵配置清單
	 */
	protected static final int S_OPCODE_PUTSOLDIER = 77;
	
	/**
	 * 稅收設定
	 */
	protected static final int S_OPCODE_TAXRATE = 14;
	
	/**
	 * 圍城時間設定
	 */
	protected static final int S_OPCODE_WARTIME = 49;
	
	// XXX 魔法
	
	/**
	 * 魔法購買清單(金幣)
	 */
	protected static final int S_OPCODE_SKILLBUY = 22;
	
	/**
	 * 魔法購買清單(材料)
	 */
	protected static final int S_OPCODE_SKILLBUYITEM = 39;
	
	/**
	 * 學習魔法材料不足
	 */
	protected static final int S_OPCODE_ITEMERROR = 121;
	
	/**
	 * 魔法清單(增加)
	 */
	protected static final int S_OPCODE_ADDSKILL = 6;
	
	/**
	 * 魔法清單(移除)
	 */
	protected static final int S_OPCODE_DELSKILL = 28;
	
	// TODO 其他

	/**
	 * 畫面中紅色訊息(登入來源)
	 */
	protected static final int S_OPCODE_RED = 115;

	/**
	 * NPC改變外型
	 */
	protected static final int S_OPCODE_NPCPOLY = 20;
	
	/**
	 * 更新物件外型
	 */
	protected static final int S_OPCODE_POLY = 31;

	/**
	 * 物件新增主人
	 */
	protected static final int S_OPCODE_NEWMASTER = 58;
	
	// XXX 未完成
	
	/**
	 * 可配置排列傭兵數(HTML)(EX:雇用的總傭兵數:XX 可排列的傭兵數:XX )
	 */
	protected static final int S_OPCODE_PUTHIRESOLDIER = 44;

	/**
	 * Ping Time
	 */
	protected static final int S_OPCODE_PINGTIME = 90;
	
	/**
	 * 強制登出人物
	 */
	protected static final int S_OPCODE_CHAROUT = 110;
	
	/**
	 * 服務器登入訊息(使用string.tbl)
	 */
	protected static final int S_OPCODE_COMMONINFO = 88;
	
	/**
	 * 閱讀郵件(舊)
	 */
	protected static final int S_OPCODE_LETTER = 29;
	
	//XXX unknown

	/**
	 * 未知購物清單1
	 * Server op: 0
	 */
	protected static final int S_OPCODE_SHOPX1 = -0;
	
	/**
	 * 未知購物清單2
	 * Server op: 71
	 */
	protected static final int S_OPCODE_SHOPX2 = -71;
		
	/**
	 * 物理範圍攻擊
	 * Server op: 0000
	 */
	protected static final int S_OPCODE_ATTACKRANGE = -1;

}
